Cash 請大家在自己帳號下完成 miniConda 的安裝,同時也設定各自的 Aliases,利用 conda 建立環境,安裝了 Tensorflow,基本上已經可以執行一些深度學習的範例程式。但是負責深度學習的所需的Python數值計算的 Fields 遭遇了困難,他不熟悉 Python。
Pete 自願跟大家稍微講解一下 Python,同樣的他採『師父引進門修行看個人』策略。
延續 Cash 已經請大家為自己打造 Aliases,他請大家下
alias
看有無出現 alias py36='source activate py36' 這一行。 沒有就請別人幫忙一下補做昨天要求編輯過 ~/.bash_aliases;如果有 py36 這行alias,執行
py36
接著他要大家嘗試使用 Jupyter,理由是他看了許多深度學習的範例或是教學程式,通常不是很大的程式,不需要拿牛刀式的IDE來開發,而且很多直接就是用 iPython Notebook寫的,Notebook是將原來某種語言平台 Console的操作,擴展成可互動式計算,還提供一個web-based的前端來處理整個括開發、編輯、文件製作及執行程式結果立即呈現。不熟悉這個工具估計很難生存。
Jupyter 可支援很多語言(R,Java,JavaScript,GO等等),Python 是其中之一,以下圖來看 Notebook Server 並不處理執行程式,而是藉由 Kernel 來進行。所以我們必須安裝 iPython Kernel 讓iPython Notebook 可以進行。(當我們執行『pip install jupyter 』時,預設就把 iPython,Notebook 等等程式包也一起安裝近來。)
(取材自 jupyter.readthedocs.io)
pip install jupyter
jupyter notebook --port 8588 --ip 0.0.0.0
其中 『--ip 0.0.0.0』 是要讓其他非Server的機器可以連上來;而『--port 8588』是因為他們共七位,在上一篇文章已經分配好Pete的使用 85xx,這樣就不會發生大家同時做練習搶同一個預設的Port 8888。
還沒來得及跟大家說明如何連上去,多數人已經知道用 『http://z.y.z.a:8588/?token=e8cfba4813...』 連上,同時稍微搜Google再摸索一下,立即會使用了。
佳麗突發奇想,那他是否可以用 Jupyter 寫用戶的一些簡易教材,感覺要交互式的講解程式模塊與其執行結果,用這工具來做還蠻順的。但是如果可以將整個Notebook轉成她已經熟悉的 Markdown 格式就更好了。
Fields 終於有可以貢獻的地方了,他前幾天開始了解機器 Mxnet 時,發現簡體中文的教學網站,預設的文件格式就是Markdown。這解決讀寫 github 上面有相當多 md 副檔名的範例程式問題。稍微找一下,就知道如何安裝了:
pip install notedown
jupyter notebook --port 8588 --ip 0.0.0.0 \
--NotebookApp.contents_manager_class='notedown.NotedownContentsManager'
Molly 問 Pete 他個人有無推薦 Python IDE,Pete先前用過 PyCharm,也與 Anaconda 整合很好。但是不確定如果 Python 環境是在 docker 裡面,是否還能整在一起。Pete 最終還是建議先在 Jupyter Notebook 上作業,未來真有大型模組要開發再談 IDE。
專案緣起記錄在 【UP, Scrum 與 AI專案】